package seqlist.LeetCode;
//283. 移动零
/**
 * 给定一个数组 nums，编写一个函数将所有 0 移动到数组的末尾，同时保持非零元素的相对顺序。
 */

/**
 * 思路:用双指针法.当遇到是 0 的跳过，遇到不是 0 的覆盖
 */
public class Num_283_moveZeroes {
    public void moveZeroes(int[] nums){

        int p1 = 0;
        int p2 = 0;
        int conut = 0;//统计0的个数
        while(p2 < nums.length){
            if(nums[p2] != 0){
                nums[p1] = nums[p2];
                p1++;
            }else{
                conut++;
            }
            p2++;
        }

        while(conut-- > 0){
            nums[p1++] = 0;
        }

    }
}
